package dao.contrat;

import java.util.List;

import modele.contrat.OptionC;
import modele.utilisateur.Entreprise;
import modele.utilisateur.Utilisateur;

import org.hibernate.Session;

import dao.AbstractDAO;
import dao.HibernateUtil;

public class OptionCDAO extends AbstractDAO<OptionC>  {
	
	private static OptionCDAO DAO = new OptionCDAO();
	
	public static OptionCDAO getDAO()
	{
		return DAO;
	}
	
	
	public List<OptionC> retrieveByEntreprise(Entreprise ent)
	{
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        
        String hql = "from OptionC u WHERE u.entrepriseOrigine = :entreprise";
        List<OptionC> list = session.createQuery(hql)
		        	.setParameter("entreprise", ent)
		        	.list();
        
        session.getTransaction().commit();
        
        return list;
	}
	
	public List<OptionC> retrieveByProprietaire(Utilisateur user)
	{
        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
        session.beginTransaction();
        
        String hql = "from OptionC u WHERE u.possesseur = :user";
        List<OptionC> list = session.createQuery(hql)
		        	.setParameter("user", user)
		        	.list();
        
        session.getTransaction().commit();
        
        return list;
	}
	
	

}
